﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000BFB RID: 3067
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class MultiPathAvatarInfo : IMessage<MultiPathAvatarInfo>, IMessage, IEquatable<MultiPathAvatarInfo>, IDeepCloneable<MultiPathAvatarInfo>, IBufferMessage
	{
		// Token: 0x170026AC RID: 9900
		// (get) Token: 0x0600892E RID: 35118 RVA: 0x0016D1E7 File Offset: 0x0016B3E7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<MultiPathAvatarInfo> Parser
		{
			get
			{
				return MultiPathAvatarInfo._parser;
			}
		}

		// Token: 0x170026AD RID: 9901
		// (get) Token: 0x0600892F RID: 35119 RVA: 0x0016D1EE File Offset: 0x0016B3EE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MultiPathAvatarInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170026AE RID: 9902
		// (get) Token: 0x06008930 RID: 35120 RVA: 0x0016D200 File Offset: 0x0016B400
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return MultiPathAvatarInfo.Descriptor;
			}
		}

		// Token: 0x06008931 RID: 35121 RVA: 0x0016D207 File Offset: 0x0016B407
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MultiPathAvatarInfo()
		{
		}

		// Token: 0x06008932 RID: 35122 RVA: 0x0016D228 File Offset: 0x0016B428
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MultiPathAvatarInfo(MultiPathAvatarInfo other) : this()
		{
			this.equipRelicList_ = other.equipRelicList_.Clone();
			this.rank_ = other.rank_;
			this.pathEquipmentId_ = other.pathEquipmentId_;
			this.multiPathSkillTree_ = other.multiPathSkillTree_.Clone();
			this.avatarId_ = other.avatarId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06008933 RID: 35123 RVA: 0x0016D292 File Offset: 0x0016B492
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MultiPathAvatarInfo Clone()
		{
			return new MultiPathAvatarInfo(this);
		}

		// Token: 0x170026AF RID: 9903
		// (get) Token: 0x06008934 RID: 35124 RVA: 0x0016D29A File Offset: 0x0016B49A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<EquipRelic> EquipRelicList
		{
			get
			{
				return this.equipRelicList_;
			}
		}

		// Token: 0x170026B0 RID: 9904
		// (get) Token: 0x06008935 RID: 35125 RVA: 0x0016D2A2 File Offset: 0x0016B4A2
		// (set) Token: 0x06008936 RID: 35126 RVA: 0x0016D2AA File Offset: 0x0016B4AA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Rank
		{
			get
			{
				return this.rank_;
			}
			set
			{
				this.rank_ = value;
			}
		}

		// Token: 0x170026B1 RID: 9905
		// (get) Token: 0x06008937 RID: 35127 RVA: 0x0016D2B3 File Offset: 0x0016B4B3
		// (set) Token: 0x06008938 RID: 35128 RVA: 0x0016D2BB File Offset: 0x0016B4BB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint PathEquipmentId
		{
			get
			{
				return this.pathEquipmentId_;
			}
			set
			{
				this.pathEquipmentId_ = value;
			}
		}

		// Token: 0x170026B2 RID: 9906
		// (get) Token: 0x06008939 RID: 35129 RVA: 0x0016D2C4 File Offset: 0x0016B4C4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<AvatarSkillTree> MultiPathSkillTree
		{
			get
			{
				return this.multiPathSkillTree_;
			}
		}

		// Token: 0x170026B3 RID: 9907
		// (get) Token: 0x0600893A RID: 35130 RVA: 0x0016D2CC File Offset: 0x0016B4CC
		// (set) Token: 0x0600893B RID: 35131 RVA: 0x0016D2D4 File Offset: 0x0016B4D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MultiPathAvatarType AvatarId
		{
			get
			{
				return this.avatarId_;
			}
			set
			{
				this.avatarId_ = value;
			}
		}

		// Token: 0x0600893C RID: 35132 RVA: 0x0016D2DD File Offset: 0x0016B4DD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as MultiPathAvatarInfo);
		}

		// Token: 0x0600893D RID: 35133 RVA: 0x0016D2EC File Offset: 0x0016B4EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(MultiPathAvatarInfo other)
		{
			return other != null && (other == this || (this.equipRelicList_.Equals(other.equipRelicList_) && this.Rank == other.Rank && this.PathEquipmentId == other.PathEquipmentId && this.multiPathSkillTree_.Equals(other.multiPathSkillTree_) && this.AvatarId == other.AvatarId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600893E RID: 35134 RVA: 0x0016D370 File Offset: 0x0016B570
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.equipRelicList_.GetHashCode();
			if (this.Rank != 0U)
			{
				num ^= this.Rank.GetHashCode();
			}
			if (this.PathEquipmentId != 0U)
			{
				num ^= this.PathEquipmentId.GetHashCode();
			}
			num ^= this.multiPathSkillTree_.GetHashCode();
			if (this.AvatarId != MultiPathAvatarType.None)
			{
				num ^= this.AvatarId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600893F RID: 35135 RVA: 0x0016D403 File Offset: 0x0016B603
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06008940 RID: 35136 RVA: 0x0016D40B File Offset: 0x0016B60B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06008941 RID: 35137 RVA: 0x0016D414 File Offset: 0x0016B614
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.PathEquipmentId != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.PathEquipmentId);
			}
			if (this.AvatarId != MultiPathAvatarType.None)
			{
				output.WriteRawTag(16);
				output.WriteEnum((int)this.AvatarId);
			}
			if (this.Rank != 0U)
			{
				output.WriteRawTag(32);
				output.WriteUInt32(this.Rank);
			}
			this.equipRelicList_.WriteTo(ref output, MultiPathAvatarInfo._repeated_equipRelicList_codec);
			this.multiPathSkillTree_.WriteTo(ref output, MultiPathAvatarInfo._repeated_multiPathSkillTree_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06008942 RID: 35138 RVA: 0x0016D4AC File Offset: 0x0016B6AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.equipRelicList_.CalculateSize(MultiPathAvatarInfo._repeated_equipRelicList_codec);
			if (this.Rank != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Rank);
			}
			if (this.PathEquipmentId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.PathEquipmentId);
			}
			num += this.multiPathSkillTree_.CalculateSize(MultiPathAvatarInfo._repeated_multiPathSkillTree_codec);
			if (this.AvatarId != MultiPathAvatarType.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.AvatarId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06008943 RID: 35139 RVA: 0x0016D540 File Offset: 0x0016B740
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(MultiPathAvatarInfo other)
		{
			if (other == null)
			{
				return;
			}
			this.equipRelicList_.Add(other.equipRelicList_);
			if (other.Rank != 0U)
			{
				this.Rank = other.Rank;
			}
			if (other.PathEquipmentId != 0U)
			{
				this.PathEquipmentId = other.PathEquipmentId;
			}
			this.multiPathSkillTree_.Add(other.multiPathSkillTree_);
			if (other.AvatarId != MultiPathAvatarType.None)
			{
				this.AvatarId = other.AvatarId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06008944 RID: 35140 RVA: 0x0016D5C6 File Offset: 0x0016B7C6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06008945 RID: 35141 RVA: 0x0016D5D0 File Offset: 0x0016B7D0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 16U)
				{
					if (num == 8U)
					{
						this.PathEquipmentId = input.ReadUInt32();
						continue;
					}
					if (num == 16U)
					{
						this.AvatarId = (MultiPathAvatarType)input.ReadEnum();
						continue;
					}
				}
				else
				{
					if (num == 32U)
					{
						this.Rank = input.ReadUInt32();
						continue;
					}
					if (num == 50U)
					{
						this.equipRelicList_.AddEntriesFrom(ref input, MultiPathAvatarInfo._repeated_equipRelicList_codec);
						continue;
					}
					if (num == 122U)
					{
						this.multiPathSkillTree_.AddEntriesFrom(ref input, MultiPathAvatarInfo._repeated_multiPathSkillTree_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04003462 RID: 13410
		private static readonly MessageParser<MultiPathAvatarInfo> _parser = new MessageParser<MultiPathAvatarInfo>(() => new MultiPathAvatarInfo());

		// Token: 0x04003463 RID: 13411
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003464 RID: 13412
		public const int EquipRelicListFieldNumber = 6;

		// Token: 0x04003465 RID: 13413
		private static readonly FieldCodec<EquipRelic> _repeated_equipRelicList_codec = FieldCodec.ForMessage<EquipRelic>(50U, EquipRelic.Parser);

		// Token: 0x04003466 RID: 13414
		private readonly RepeatedField<EquipRelic> equipRelicList_ = new RepeatedField<EquipRelic>();

		// Token: 0x04003467 RID: 13415
		public const int RankFieldNumber = 4;

		// Token: 0x04003468 RID: 13416
		private uint rank_;

		// Token: 0x04003469 RID: 13417
		public const int PathEquipmentIdFieldNumber = 1;

		// Token: 0x0400346A RID: 13418
		private uint pathEquipmentId_;

		// Token: 0x0400346B RID: 13419
		public const int MultiPathSkillTreeFieldNumber = 15;

		// Token: 0x0400346C RID: 13420
		private static readonly FieldCodec<AvatarSkillTree> _repeated_multiPathSkillTree_codec = FieldCodec.ForMessage<AvatarSkillTree>(122U, AvatarSkillTree.Parser);

		// Token: 0x0400346D RID: 13421
		private readonly RepeatedField<AvatarSkillTree> multiPathSkillTree_ = new RepeatedField<AvatarSkillTree>();

		// Token: 0x0400346E RID: 13422
		public const int AvatarIdFieldNumber = 2;

		// Token: 0x0400346F RID: 13423
		private MultiPathAvatarType avatarId_;
	}
}
